1. Field of the Invention
The present invention relates to information handling systems and more particularly to monitoring execution of a program and more particularly to a dynamic binary rewriter.
2. Description of the Related Art
When monitoring a computer application program executing in a client process, a monitor program may need to analyze the client process to determine regions of more frequently executed code (i.e., hot code). Such monitoring can occur in systems when the original source code of the application cannot be easily modified or recompiled. When the only information available to the monitor is runtime information, locating and constructing these regions can be challenging.
It is known to use a dynamic binary optimizer (DBO), a specific type of dynamic binary rewriter (DBR), to monitor the execution of a program and to optimize frequently executed (i.e., hot) code to improve performance. Known DBOs generally fall into two categories, Interpretation based DBOs and Sampling based DBOs. An interpretation based DBO leverages an interpreter or just-in-time compiler to observe a program's dynamic instructions. A sampling based DBO removes the interpreter and uses low overhead sampling based techniques to identify hot code. Known DBOs select hot traces for transformation. A trace is a single entrance, multiple exit interprocedural path of execution.
A DBR is similar to a managed run time environment except that a DBR operates on native binaries without requiring any static program information.